Executing Formal Specifications with Constraint Programming
نویسندگان
چکیده
We have implemented a technique for execution of formal, model-based speci cations. The speci cations we can execute are written at a level of abstraction that has not previously been supported in executable speci cation languages. The speci cation abstractions supported by our execution technique include quanti ed assertions that reference post-state values, and indirect de nitions of post-state values (de nitions that do not use equality). Our approach is based on translating speci cations to the concurrent constraint programming language AKL. While there are, of course, expressible assertions that are not executable, our technique is amenable to any formal speci cation language based on a nite number of intrinsic types and preand postcondition assertions.
منابع مشابه
jmle: A Tool for Executing JML Specifications Via Constraint Programming
Formal specifications are more useful and easier to develop if they are executable. In this work, we describe a system for executing specifications written in the Java Modeling Language (JML) by translating them to constraint programs, which are then executed via the Java Constraint Kit (JCK). Our system can execute specifications written at a high level of abstraction, and the generated constr...
متن کاملEncoding Temporal Logics in Executable Z: A Case Study for the ZETA System
The ZETA system is a Z-based tool environment for developing formal specifications. It contains a component for executing the Z language based on the implementation technique of concurrent constraint resolution. In this paper, we present a case-study for the environment, by providing an executable encoding of temporal interval logics in the Z language. As an application of this setting, test-ca...
متن کاملAdvancing declarative programming
This thesis attempts to unite and consolidate two large and often culturally disjoint programming paradigms: declarative (focusing on specifying what a program is supposed to do, e.g., shuffle an array so that its elements are ordered) and imperative (detailing how the program intention is to be implemented, e.g., by applying the QuickSort algorithm). The ultimate result of such an effort would...
متن کاملMapping UML Models incorporating OCL Constraints into Object-Z
Focusing on object-oriented designs, this paper proposes a mapping for translating systems modelled in the Unified Modelling Language (UML) incorporating Object Constraint Language (OCL) constraints into formal software specifications in Object-Z. Joint treatment of semi-formal model constructs and constraints within a single translation framework and conversion tool is novel, and leads to the ...
متن کاملExecuting Specifications Using Synthesis and Constraint Solving
Specifications are key to improving software reliability as well as documenting precisely the intended behavior of software. Writing specifications is still perceived as expensive. Of course, writing implementations is at least as expensive, but is hardly questioned because there is currently no real alternative. Our goal is to give specifications a more balanced role compared to implementation...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014